1. Field of the Invention
The invention relates to modems, namely devices that modulate and demodulate electrical signals for transmitting or receiving data (mainly digital data) between a terminal and a communications network. The network connects at least two terminals and a modem is placed between each terminal and the network.
2. Description of the Related Art
The terminal is usually a personal computer and the communications network is a telephone transmission network. In this case, the modem is a peripheral of the personal computer and can be connected between a communications port on the computer (generally a serial communications port) and the telephone network. The signal transmission protocol is such that the telephone network, originally designed to transmit analog signals representing speech, can transmit coded signals representing digital data either in the "character" mode (transmission of octets representing characters) or in "fax" mode (transmission of images as dots).
The invention will accordingly be described in the most current application which is the case of a personal computer (hereafter called PC) connected by the modem to a telephone network.
The modem has two main functions: modulating electrical signals to convert binary data into signals compatible with the telephone transmission network according to a well-defined protocol that allows these signals to be interpreted at the other end of the network; and demodulating signals from the network to convert them into binary data that can be processed by the PC to which the modem is connected.
Physically, the modem is comprised
of a line interface circuit for providing and receiving signals in the protocol corresponding to the transmission network, PA1 a PC interface circuit to provide and receive signals according to the PC protocol, PA1 a microcontroller (i.e. a microprocessor with its memories, particularly with a read only memory) to control the communication, particularly to control the action of the other circuits of the modem, PA1 and fixed programs containing instructions, contained in the microcontroller memories. PA1 that all these commands begin with the same prefix sequence recognized by the microcontroller as defining a command intended for the modem, whereby the microcontroller has means for recognizing the arrival of this prefix sequence and executing a command following this prefix sequence; PA1 and that all the commands for communication with the card continue with a second prefix sequence immediately following the first and followed by a command proper, whereby the microcontroller has means for recognizing this second prefix sequence and then executing said command which is a communication command between the terminal and the card.
a modulation/demodulation circuit, sometimes called data pump, to convert the data signals of the PC protocol to the network protocol upon emission of the signals and make the reverse conversion upon reception,
The microcontroller executes programs contained in its read only memory (fixed programs or subprograms, generally directly executable). It executes these programs according to commands it receives from the terminal through the communications port connecting the terminal to the modem. These commands can be in high-level language and input directly at the terminal's keyboard and transmitted in ASCII format to the microcontroller. The executable instructions include all the elements necessary for commanding circuits that convert the signals in the two directions (from the PC to the network and from the network to the PC) and other elements allowing other functions of the modem (data compression, error correction, transition to fax mode or alphanumeric mode, etc.) to be commanded.
At the present time, a great many modems are built so that they can be controlled by a set of commands called the "AT command set" or Hayes commands. These commands allow the various functions of the modem to be controlled in plain language from the terminal.
The principle of AT commands is the following: if the modem's microcontroller receives a command in ASCII code starting with the letters "A" and "T" and which ends with the ASCII code corresponding to a carriage return on a keyboard, then the microcontroller considers it a modem command and executes the command requested; the command requested is defined by an ASCII character sequence introduced after the prefix sequence 'AT and before the carriage return. The command is a command corresponding to one of the communication functions (or communication-linked functions) between the PC and the network. The command may be sufficient by itself or require parameters and/or data to be executed. If there are parameters and/or data, these parameters or data follow the command before the carriage return code.
For example, the command can be a telephone dialing command to call a party: the name of the command in plain language is `DP` (for "Dial Pulse"); the letters DP are sent to the modem microcontroller and are followed by the telephone number requested, and a separator can be placed between the command and the number. The `DP` command is hence always followed by a datum. Thus, to call the number 40 67 11 99 from a PC keyboard, a user keys in the following sequence: ATDP40671199 and ends the command by pressing the carriage return key. The modem microcontroller then commands all the operations for the modem to send the dial pulse signal over the line to the party called by this number. The command would be DT (for "Dial Tone") if the dial signal sent over the line were not made up of series of as many pulses as numbers dialed but of different frequencies or tones party to the numbers called.
Another example of a command is "A." This is the response to an incoming call: the modem is called by a party; if one wishes it to respond, namely to enter into communication with this party on the network, one must send the microcontroller the sequence `ATA` then the carriage return ending the command.
Another example, instead of a single command, is a macrocommand defining a group of possible commands; this is the macrocommand "+F" which must be followed by the command precisely chosen from the group. The macrocommand "+F" indicates that the call to the network must be in "fax" mode and not in "character" mode. This macrocommand is hence followed by another command corresponding to a requested function, itself followed if applicable by parameters or data necessary for executing the command.
All these commands and macrocommands are hence recognized by the modem microcontroller if they start with the sequence `at` and they then trigger execution by the modem of communication functions between the network and the PC.
It has also been proposed that communications units (telephone, personal computers, communications terminals using modems) be controlled with smartcards, particularly to provide a security function protecting these units from access by unauthorized persons. This smartcard use control consists simply of adding an additional peripheral to the computer, namely a smartcard reader, or consists of adding such a peripheral to a specialized communications terminal other than a computer (e.g. a modem+keyboard+screen assembly known as "minitel"). Usually this smartcard reader is used only to block or authorize utilization of the terminal, and this blockage or authorization is established either directly by inserting a smartcard or, after a dialog between the terminal and the card, entering secret codes or other security protocols. The options offered today by this combination of a terminal and a smartcard are limited, as the card reader is in practice an independent reader adjacent to the terminal to authorize it to operate.